package conf

import (
	"encoding/json"
	"log"
	"os"
	"strings"
)

var Server struct {
	LogLevel    string
	LogPath     string
	WSAddr      string
	CertFile    string
	KeyFile     string
	TCPAddr     string
	MaxConnNum  int
	ConsolePort int
	ProfilePath string
	Md5key      string
	Mysql       string
	Mongodb     string
	Debug       bool
	Jwttoken    string
	RedisAddr   string
	RedisPwd    string
}

func init() {

	//config_path := "/run/secrets/server_config.json"
	//log.Println("docker注入文件 :", "使用 Docker 机密管理敏感数据")
	//if !fileutil.Exist(config_path) {
	//	log.Println("本地文件 :", "使用项目的配置文件")
	//	config_path = os.Getenv("SERVER_CONFIG_PATH")
	//	if config_path == "" {
	//		config_path = "./server.json"
	//	}
	//}
	config_path := "./server.json"
	data, err := os.ReadFile(config_path)
	if err != nil {
		s := ""
		filename, _ := os.Getwd()
		a := strings.Split(filename, "\\")
		for i := len(a) - 1; i > 0; i-- {
			if a[i] == "server" {
				break
			} else {
				s += "../"
			}
		}
		os.Chdir(s)
		data, err = os.ReadFile("./server.json")
	}
	if err != nil {
		log.Fatal("%v", err)
	}
	err = json.Unmarshal(data, &Server)
	if err != nil {
		log.Fatal("%v", err)
	}
}
